package services

//import (
//	"github.com/apex/log"
//	"github.com/crawlab-team/crawlab-core/constants"
//	"github.com/crawlab-team/crawlab-core/models"
//	"github.com/globalsign/mgo/bson"
//	"runtime/debug"
//)
//
//func InitTaskCleanUserIds() {
//	adminUser, err := GetAdminUser()
//	if err != nil {
//		log.Errorf(err.Error())
//		debug.PrintStack()
//		return
//	}
//	tasks, err := model.GetTaskList(nil, 0, constants.Infinite, "+_id")
//	if err != nil {
//		log.Errorf(err.Error())
//		debug.PrintStack()
//		return
//	}
//	for _, t := range tasks {
//		if !t.ScheduleId.Valid() {
//			t.ScheduleId = bson.ObjectIdHex(constants.ObjectIdNull)
//			if err := t.Save(); err != nil {
//				log.Errorf(err.Error())
//				debug.PrintStack()
//				continue
//			}
//		}
//
//		if !t.UserId.Valid() {
//			t.UserId = adminUser.Id
//			if err := t.Save(); err != nil {
//				log.Errorf(err.Error())
//				debug.PrintStack()
//				continue
//			}
//		}
//	}
//}
//
//func InitProjectCleanUserIds() {
//	adminUser, err := GetAdminUser()
//	if err != nil {
//		log.Errorf(err.Error())
//		debug.PrintStack()
//		return
//	}
//	projects, err := model.GetProjectList(nil, "+_id")
//	if err != nil {
//		log.Errorf(err.Error())
//		debug.PrintStack()
//		return
//	}
//	for _, p := range projects {
//		if !p.UserId.Valid() {
//			p.UserId = adminUser.Id
//			if err := p.Save(); err != nil {
//				log.Errorf(err.Error())
//				debug.PrintStack()
//				continue
//			}
//		}
//	}
//}
//
//func InitSpiderCleanUserIds() {
//	adminUser, err := GetAdminUser()
//	if err != nil {
//		log.Errorf(err.Error())
//		debug.PrintStack()
//		return
//	}
//	spiders, _ := model.GetSpiderAllList(nil)
//	for _, s := range spiders {
//		if !s.UserId.Valid() {
//			s.UserId = adminUser.Id
//			if err := s.Save(); err != nil {
//				log.Errorf(err.Error())
//				debug.PrintStack()
//				continue
//			}
//		}
//	}
//}
//
//func InitScheduleCleanUserIds() {
//	adminUser, err := GetAdminUser()
//	if err != nil {
//		log.Errorf(err.Error())
//		debug.PrintStack()
//		return
//	}
//	schedules, _ := model.GetScheduleList(nil)
//	for _, s := range schedules {
//		if !s.UserId.Valid() {
//			s.UserId = adminUser.Id
//			if err := s.Save(); err != nil {
//				log.Errorf(err.Error())
//				debug.PrintStack()
//				continue
//			}
//		}
//	}
//}
//
//func InitCleanService() error {
//	if model.IsMaster() {
//		// 清理任务UserIds
//		InitTaskCleanUserIds()
//		// 清理项目UserIds
//		InitProjectCleanUserIds()
//		// 清理爬虫UserIds
//		InitSpiderCleanUserIds()
//		// 清理定时任务UserIds
//		InitScheduleCleanUserIds()
//	}
//	return nil
//}
